Noise suppressor having weighted gain smoothing

ABSTRACT

A noise suppressor is provided which includes a signal to noise ratio (SNR) determiner, a channel gain determiner, a gain smoother and a multiplier. The SNR determiner determines the SNR per channel of the input signal. The channel gain determiner determines a channel gain γ ch (i) per the ith channel. The gain smoother produces a smoothed gain {overscore (γ ch +L (i,m))} per the ith channel and the multiplier multiplies each channel of the input signal by its associated smoothed gain {overscore (γ ch +L (i,m))}.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 09/102,739 filed Jun. 22, 1998, now U.S. Pat. No. 6,088,668 which is incorporated herein by reference.

FIELD OF THE INVENTION

The present invention relates generally to methods of noise suppression using acoustic spectral subtraction.

BACKGROUND OF THE INVENTION

Acoustic noise suppression in a speech communication system generally serves the purpose of improving the overall quality of the desired audio or speech signal by filtering environmental background noise from the desired speech signal. This speech enhancement process is particularly necessary in environments having abnormally high level of background noise.

Reference is now made to FIG. 1 which illustrates one noise suppressor which uses spectral subtraction (or spectral gain modification). The noise suppressor includes frequency and time domain converters 10 and 12, respectively, and a noise attenuator 14.

The frequency domain converter 10 includes a bank of bandpass filters which divide the audio input signal into individual spectral bands. The noise attenuator 14 attenuates particular spectral bands according to their noise energy content. To do so, the attenuator 14 includes an estimator 16 and a channel gain determiner 18. Estimator 16 estimates the background noise and signal power spectral densities (PSDs) to generate a signal to noise ratio (SNR) of the speech in each channel. The channel gain determiner 18 uses the SNR to compute a gain factor for each individual channel and to attenuate each spectral band. The attenuation is performed by multiplying, via a multiplier 20, the signal of each channel by its gain factor. The channels are recombined and converted back to the time domain by converter 12, thereby producing a noise suppressed signal.

For example, in the article by M. Berouti, R. Schwartz, and J. Makhoul, “Enhancement of Speech Corrupted by Acoustic Noise”, Proceedings of the IEEE International Conference on Acoustic Speech Signal Processing, pp. 208-211, April 1979, which is incorporated herein by reference, the method of linear spectral subtraction is discussed. In this method, the channel gain γ_(ch)(i) is determined by subtracting the noise power spectrum from the noisy signal power spectrum. In addition, a spectral floor β is used to prevent the gain from descending below a lower bound, β|Ε_(n)(i)|.

The gain is determined as follows: ${\gamma_{ch}(i)} = \frac{{D(i)}}{{E_{ch}(i)}}$

where: ${D(i)} = \left\{ \begin{matrix} {{{{E_{ch}(i)}} - {{{E_{n}(i)}}\quad {if}\quad {{E_{ch}(i)}}} - {{E_{n}(i)}}} \geq {\beta {{E_{n}(i)}}}} \\ {{\beta {{E_{ch}(i)}}}\quad} \end{matrix} \right.$

|Ε_(ch)(i)| is the smoothed estimate of the magnitude of the corrupted speech in the ith channel and |Ε_(n)(i)| is the smoothed estimate of the magnitude of the noise in the ith channel.

FIG. 2 illustrates the channel gain function γ_(ch)(i) per channel SNR ratio and indicates that the channel gain has a short floor 21 after which the channel gain increases monotonically.

Unfortunately, the noise suppression can cause residual ‘musical’ noise produced when isolated spectral peaks exceed the noise estimate for a very low SNR input signal.

FIGS. 3A and 3B, to which reference is now made, illustrate the typical channel energy in an input signal and the linear spectral subtraction, gain signal, over time. The energy signal of FIG. 3A shows high energy speech peaks 22 between which are sections of noise 23. The gain function of FIG. 3B has accentuated areas 24, corresponding to the peaks 22, and significant fluctuations 25 between them, corresponding to the sections of noise in the original energy signal. The gains in the accentuated areas 24 cause the high energy speech of the peaks 22 to be heard clearly. However, the gain in the fluctuations 25, which are of the same general strength as the gain in the accentuated areas 24, cause the musical noise to be heard as well.

The following articles and patents discuss other noise suppression algorithms and systems:

G. Whipple, “Low Residual Noise Speech Enhancement Utilizing Time-Frequency Filtering”, Proceedings of the IEEE International Conference on Acoustic Speech Signal Processing, Vol. I, pp. 5-8, 1994; and

U.S. Pat. Nos. 5,012,519 and 5,706,395.

SUMMARY OF THE INVENTION

An object of the present invention is to provide a method for suppressing the musical noise. This method is based on linear, spectral subtraction but incorporates a weighted gain smoothing mechanism to suppress the musical noise while minimally affecting speech.

There is therefore provided, in accordance with a preferred embodiment of the present invention, a noise suppressor which includes a signal to noise ration (SNR) determiner, a channel gain determiner, a gain smoother and a multiplier. The SNR determiner determines the SNR per channel of the input signal. The channel gain determiner determines a channel gain γ_(ch)(i) per the ith channel. The gain smoother produces a smoothed gain {overscore (γ_(ch)+L (i,m))} per the ith channel and the multiplier multiplies each channel of the input signal by its associated smoothed gain {overscore (γ_(ch)+L (i,m))}.

Additionally, in accordance with a preferred embodiment of the present invention, the smoothed gain {overscore (γ_(ch)+L (i,m))} is a function of a previous gain value {overscore (γ_(ch)+L (i,m−1+L ))} for the ith channel and a forgetting factor α which is a function of the current level of the SNR for the ith channel.

Additionally, in accordance with a preferred embodiment of the present invention, the forgetting factor α ranges between MAX_ALFA and MIN_ALFA according to the function $1 - \frac{\sigma \left( {i,m} \right)}{SNR\_ DR}$

where σ(i,m) is the SNR of the current frame m of the ith channel and SNR_DR is the allowed dynamic range of the SNR. For example, MAX_ALFA=1.0, MIN_ALFA=0.01 and SNR_DR=30 dB.

Furthermore, in accordance with a preferred embodiment of the present invention, the forgetting factor α is determined by: $\alpha = {\min \quad \left\{ {{MAX\_ ALFA},{\max \quad \left\{ {{MIN\_ ALFA},{1 - \frac{\sigma \left( {i,m} \right)}{SNR\_ DR}}} \right\}}} \right\}}$

Additionally, in accordance with a preferred embodiment of the present invention, the smoothed gain {overscore (γ_(ch)+L (i,m))} is set to be either the channel gain γ_(ch)(i) or a new value, wherein the new value is provided only if the channel gain γ_(ch)(i)for the current frame m is greater than the smoothed gain {overscore (γ_(ch)+L (i,m−1+L ))} for the previous frame m−1.

Additionally, in accordance with a preferred embodiment of the present invention, the smoothed gain {overscore (γ_(ch)+L (i,m))} is defined by: $\overset{\_}{\gamma_{ch}\left( {i,m} \right)} = \left\{ \begin{matrix} {{\alpha \cdot \overset{\_}{\gamma_{ch}\left( {i,{m - 1}} \right)}} + {\left( {1 - \alpha} \right) \cdot {\gamma_{ch}\left( {i,m} \right)}}} & {if} & {{\gamma_{ch}\left( {i,m} \right)} \geq \overset{\_}{\gamma_{ch}\left( {i,{m - 1}} \right)}} \\ {\gamma_{ch}\left( {i,m} \right)} & {Otherwise} & \quad \end{matrix} \right.$

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will be understood and appreciated more fully from the following detailed description taken in conjunction with the appended drawings in which:

FIG. 1 is a schematic illustration of a prior art noise suppressor;

FIG. 2 is a graphical illustration of a prior art gain function per signal to noise ratio;

FIGS. 3A and 3B are graphical illustrations of a channel energy of an input signal and the associated, prior art, linear spectral subtraction, gain function, overtime;

FIG. 4 is a schematic illustration of a noise suppressor having weighted gain smoothing, constructed and operative in accordance with a preferred embodiment of the present invention;

FIG. 5A is a copy of FIG. 3A and is a graphical illustration of the channel energy of an input signal over time; and

FIGS. 5B and 5C are graphical illustrations of a gain forgetting factor and a smoothed gain function, over time.

DETAILED DESCRIPTION OF THE PRESENT INVENTION

Reference is now made to FIG. 4 which illustrates a noise suppressor having weighted gain smoothing, constructed and operative in accordance with a preferred embodiment of the present invention. The present invention adds a weighted gain smoother 30 to the noise attenuator, now labeled 32, of FIG. 1. Similar reference numerals refer to similar elements.

Weighted gain smoother 30 receives the channel gain γ_(ch)(i) produced by the channel gain determiner 18 and smoothes the gain values for each channel. The output of smoother 30, a smoothed gain {overscore (γ_(ch)+L (i,m))}, for the ith channel at time frame m, is provided to the multiplier 20.

Applicant has realized that, for signals with low SNR, the channel gain determiner 18 does not properly estimate the channel gain γ_(ch)(i) and it is this poor estimation which causes the fluctuations which are the source of the musical noise. The weighted gain smoother 30 of the present invention utilizes previous gain values to smooth the gain function over time. The extent to which the previous gain values are used (a “forgetting factor”α) changes as a function of the SNR level.

If the SNR for the channel is low, the forgetting factor α is high to overcome the musical noise. If the SNR for the channel is high, the forgetting factor α is low to enable a rapid update of the channel gain.

The smoothed gain {overscore (γ_(ch)+L (i,m))} is set to be either the channel gain γ_(ch)(i) produced by the channel gain determiner 18 or a new value. The new value is provided only if the channel gain γ_(ch)(i) for the current frame m is greater than the smoothed gain {overscore (γ_(ch)+L (m−1+L ))} for the previous frame m−1. This is given mathematically in the following equation: $\overset{\_}{\gamma_{ch}\left( {i,m} \right)} = \left\{ \begin{matrix} {{\alpha \cdot \overset{\_}{\gamma_{ch}\left( {i,{m - 1}} \right)}} + {\left( {1 - \alpha} \right) \cdot {\gamma_{ch}\left( {i,m} \right)}}} & {if} & {{\gamma_{ch}\left( {i,m} \right)} \geq \overset{\_}{\gamma_{ch}\left( {i,{m - 1}} \right)}} \\ {\gamma_{ch}\left( {i,m} \right)} & {Otherwise} & \quad \end{matrix} \right.$

The forgetting factor α is set as a function of the SNR ratio. It ranges between MAX_ALFA and MIN_ALFA according to the function ${1 - \frac{\sigma \left( {i,m} \right)}{SNR\_ DR}},$

where σ(i,m) is the SNR of the current frame m of the ith channel and SNR_DR is the allowed dynamic range of the SNR. For example, MAX_ALFA=1.0, MIN_ALFA=0.01 and SNR_DR=30 dB.

Specifically, the function is: $\begin{matrix} {\alpha = {\min \quad \left\{ {{MAX\_ ALFA},{\max \quad \left\{ {{MIN\_ ALFA},{1 - \frac{\sigma \left( {i,m} \right)}{SNR\_ DR}}} \right\}}} \right\}}} \\ {{\sigma \left( {i,m} \right)} = {{20 \cdot \log}\quad \left( \frac{{E_{ch}\left( {i,m} \right)}}{{E_{n}\left( {i,m} \right)}} \right)}} \end{matrix}$

Reference is now made to FIGS. 5A, 5B and 5C which are graphical illustrations over time. FIG. 5A is a copy of FIG. 3A and illustrates the channel energy of an input signal, FIG. 5B illustrates the forgetting factor α for the input signal of FIG. 5A and FIG. 5C illustrates the smoothed gain signal {overscore (γ_(ch)+L (i,m))} for the input signal of FIG. 5A.

By adding the smoother 30 to the output of the gain determiner 18, the gain function becomes a time varying function which is dependent on the behavior of the channel SNR versus time. FIG. 5C shows that the smoothed gain {overscore (γ_(ch)+L (i,m))} has accentuated areas 40 between which are areas 42 of low gainittle activity. The latter are associated with the noise sections 23 (FIG. 5A). Thus, the fluctuations 25 (FIG. 3B) of the prior art gain have been removed. Furthermore, the shape of the accentuated areas 40 have the general shape of the prior art accentuated areas 24 (FIG. 3B). Thus, the musical noise has been reduced (no fluctuations 25) while the quality of the speech (shape of areas 40) has been maintained.

FIG. 5B shows the forgetting factor α. It fluctuates considerably during the periods associated with noise sections 23. Thus, forgetting factor α absorbs the fluctuations 25 of the prior art gain.

It will be appreciated by persons skilled in the art that the present invention is not limited by what has been particularly shown and described herein above. Rather the scope of the invention is defined by the claims that follow: 

What is claimed is:
 1. A noise suppressor comprising: a signal to noise ratio (SNR) determiner adapted to determine the SNR per channel of an input signal; and a gain smoother adapted to produce a smoothed gain {overscore (γ_(ch)+L (i,m))} for the ith channel, wherein said smoothed gain {overscore (γ_(ch)+L (i,m))} is a function of a previous gain value {overscore (γ_(ch)+L (i,m−1+L ))} for an ith channel and a forgetting factor α which is a function of the current level of said SNR for said ith channel, said forgetting factor α ranges between MAX_ALFA and MIN_ALFA according to the function $1 - \frac{\sigma \left( {i,m} \right)}{SNR\_ DR}$

where σ(i,m) is the SNR of the current frame m of the ith channel and SNR_DR is the allowed dynamic range of the SNR.
 2. A noise suppressor according to claim 1 and wherein MAX_ALFA=1.0, MIN_ALFA=0.01 and SNR_DR=30 dB.
 3. A noise suppressor according to claim 1 and wherein said forgetting factor α is determined by: $\alpha = {\min \quad {\left\{ {{MAX\_ ALFA},{\max \quad \left\{ {{MIN\_ ALFA},{1 - \frac{\sigma \left( {i,m} \right)}{SNR\_ DR}}} \right\}}} \right\}.}}$


4. A noise suppressor comprising: a channel gain determiner adapted to determine a channel gain γ_(ch)(i) per ith channel; and a gain smoother adapted to produce a smoothed gain {overscore (γ_(ch)+L (i,m))} for the ith channel, wherein said smoothed gain {overscore (γ_(ch)+L (i,m))} is set to be either the channel gain γ_(ch)(i) or a new value, wherein said new value is provided only if the channel gain γ_(ch)(i) for the current frame m is greater than the smoothed gain {overscore (γ_(ch)+L (i,m−1+L ))} for the previous frame m−1.
 5. A noise suppressor according to claim 4 and wherein said smoothed gain {overscore (γ_(ch)+L (i,m))} is defined by: $\overset{\_}{\gamma_{ch}\left( {i,m} \right)} = \left\{ \begin{matrix} {{\alpha \cdot \overset{\_}{\gamma_{ch}\left( {i,{m - 1}} \right)}} + {\left( {1 - \alpha} \right) \cdot {\gamma_{ch}\left( {i,m} \right)}}} & {if} & {{\gamma_{ch}\left( {i,m} \right)} \geq {\overset{\_}{\gamma_{ch}\left( {i,{m - 1}} \right)}.}} \\ {\gamma_{ch}\left( {i,m} \right)} & {Otherwise} & \quad \end{matrix} \right.$


6. A noise suppressor comprising: a selector adapted to select between a channel gain γ_(ch)(i) and a smoothed gain {overscore (γ_(ch)+L (i,m))}, said smoothed gain {overscore (γ_(ch)+L (i,m))} is selected when said channel gain γ_(ch)(i) of a received frame m is greater than the smoothed gain {overscore (γ_(ch)+L (i,m−1+L ))} for a previous frame m−1.
 7. A noise suppressor according to claim 6 and wherein said smoothed gain {overscore (γ_(ch)+L (i,m))} is defined by: $\overset{\_}{\gamma_{ch}\left( {i,m} \right)} = \left\{ \begin{matrix} {{\alpha \cdot \overset{\_}{\gamma_{ch}\left( {i,{m - 1}} \right)}} + {\left( {1 - \alpha} \right) \cdot {\gamma_{ch}\left( {i,m} \right)}}} & {if} & {{\gamma_{ch}\left( {i,m} \right)} \geq {\overset{\_}{\gamma_{ch}\left( {i,{m - 1}} \right)}.}} \\ {\gamma_{ch}\left( {i,m} \right)} & {Otherwise} & \quad \end{matrix} \right.$


8. A noise suppressor according to claim 7 and wherein said α is determined by: $\alpha = {\min \quad {\left\{ {{MAX\_ ALFA},{\max \quad \left\{ {{MIN\_ ALFA},{1 - \frac{\sigma \left( {i,m} \right)}{SNR\_ DR}}} \right\}}} \right\}.}}$ 